package com.culture.bootdemo.算法.sort;

import java.util.Arrays;

/**
 * @Author: wen
 * @DateTime: 2024-12-03 10:24
 * @Description: 选择排序
 **/
public class SelectSort {

    public static void selectSort(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) {
            // 内循环：找到未排序区间内的最小元素
            int k = i;
            for (int j = i + 1; j < n; j++) {
                if (arr[j] < arr[k])
                    k = j; // 记录最小元素的索引
            }
            // 将该最小元素与未排序区间的首个元素交换
            int temp = arr[i];
            arr[i] = arr[k];
            arr[k] = temp;
        }

    }

    public static void main(String[] args) {
        int[] arr = {3, 12, 1, 5, 4, 2, 7, 6};
        selectSort(arr);
        System.out.println(Arrays.toString(arr));
    }
}
